#include <stdio.h>
#include "LinkList.h"

int main()
{
    Llist list;
    InitLinkList(&list);

    for (int i = 0; i < 10; i++)
    {
        InsertHead(&list, i+1);
        //InsertHead(&list, i+1);
    }
    TravelLinkList(&list);
    InsertByIndex(&list, 5, 100);
    TravelLinkList(&list);

    RemoveByIndex(&list, 1);
    TravelLinkList(&list);

    RemoveByElement(&list, 1);
    TravelLinkList(&list);

    // UpdateByIndex(&list, 3, 200);
    // TravelLinkList(&list);

    // UpdateByElement(&list, 5, 55);
    // TravelLinkList(&list);

    // printf("%d\n", *FindElementByIndex(&list, 10));

    // int *a = FindElementByValue(&list, 3);
    // if (a != NULL)
    // {
    //     int i = 0;
    //     while (a[i] != -1)
    //     {
    //         printf("%d ", a[i++]);
    //     }
    //     printf("\n");
    //     free(a);
    // }

    // BubbleSort(&list);
    // TravelLinkList(&list);

    // Llist list1;
    // InitLinkList(&list1);
    // Llist list2;
    // InitLinkList(&list2);

    // for (int i = 0; i < 10; i++)
    // {
    //     InsertLinkTail(&list1, i+1);
    // }
    // for (int i = 1; i < 10; i++)
    // {
    //     InsertLinkTail(&list2, i+1);
    // }
    // Llist list3 = Merge(&list1, &list2);

    // TravelLinkList(&list1);
    // TravelLinkList(&list2);
    // TravelLinkList(&list3);

    // list1.head->next = ReserveRecursive(list1.head->next);
    // TravelLinkList(&list1);


    // FreeLinkList(&list1);
    // FreeLinkList(&list2);
    // FreeLinkList(&list3);

    return 0;
}